It is often useful to embed information within an image that is not noticeable to a person viewing the image. There are practical applications for embedding information within the image. For example, embedding information representing the name of an employee and his/her social security number within the employee's corresponding identification photograph would not only add a level of security to the information but also could correlate the embedded information with the visual data. In many applications, it is also useful to reproduce this image with embedded information onto a printed, tangible medium for viewing, archiving, and/or transmission to others.
A concern with embedding information within a printed image is that the image quality may be degraded by the embedded information. As an example, the embedded information may introduce significant visual artifacts, which can negatively affect the appearance of the image.
Another concern with embedding information within a printed image is that the embedded information may be compromised when the image with the embedded information is printed. When an image is printed, the image is typically converted into halftones according to a halftoning technique, such as error diffusion halftoning, which is a popular halftoning technique. Error diffusion halftoning technique operates on a dot pixel by dot pixel basis to convert each pixel of an input image into either a white pixel or a black pixel. The error diffusion halftoning technique modulates the frequency of printed pixel dots, i.e., the black pixels, which controls the grayscale in a printed image. In other words, printed pixel dots vary in frequency with respect to the underlying grayscale of the corresponding image to increase or decrease the printed grayscale. When a pixel of the input image is converted to a white pixel or a black pixel, a halftone error is usually introduced. A halftone error is the difference between the original grayscale value associated with a pixel of the input image and the halftone value of the converted pixel. In error diffusion halftoning, the halftone errors are distributed to neighboring pixels. A well-known halftone error distribution scheme is the Floyd and Steinberg error diffusion. Since every pixel of an input image is converted into either a white pixel or a black pixel during the error diffusion halftoning, the information embedded in an image may be altered or distorted by the halftoning process, which may corrupt the embedded information when the image is printed.
In addition to the problem of halftone errors, the error diffusion halftoning technique produce printed images that typically include many isolated dot pixels. In general, inkjet printers are well suited for error diffusion halftoning technique because inkjet printers are capable of faithfully reproducing isolated dots. However, laser printers are not capable of consistently reproducing isolated dot pixels. Therefore, conventional error diffusion halftoning techniques are not suitable for laser printers.
In view of these concerns, there is a need for a system and method for embedding information within a printed image using an error diffusion halftoning technique, which is suitable for laser printers, without significantly degrading the image quality or compromising the embedded information when the image is printed.